#ifndef B62750C7_360B_4549_ADE1_58C6E25F2633
#define B62750C7_360B_4549_ADE1_58C6E25F2633

#ifndef _CONVERT_MANAGER_H
#define _CONVERT_MANAGER_H

#include <config.h>
#include <video_manager.h>
#include <linux/videodev2.h>

typedef struct VideoConvert {
    char *name;
    int (*isSupport)(int iPixelFormatIn, int iPixelFormatOut);
    int (*Convert)(int iPixelFormatIn, int iPixelFormatOut, PT_PixelDatas ptPixelDatasIn, PT_PixelDatas ptPixelDatasOut);
    int (*ConvertExit)(PT_PixelDatas ptPixelDatas);
    struct VideoConvert *ptNext;
}T_VideoConvert, *PT_VideoConvert;

PT_VideoConvert GetVideoConvertForFormats(int iPixelFormatIn, int iPixelFormatOut);
int VideoConvertInit(void);

int Yuv2RgbInit(void);
int Mjpeg2RgbInit(void);
int Rgb2RgbInit(void);
int RegisterVideoConvert(PT_VideoConvert ptVideoConvert);


#endif /* _CONVERT_MANAGER_H */



#endif /* B62750C7_360B_4549_ADE1_58C6E25F2633 */
